The present invention relates generally to optical code detection and reading systems and, more particularly, concerns an optical code reading system and method which provide adaptive exposure control.
Anyone who has shopped in a modern supermarket is familiar with optical code imaging devices, which facilitate rapid checkout by scanning bar codes imprinted on product packages. This is a relatively undemanding application of bar code reading, as a package is essentially brought to a standstill by the operator for purposes of scanning the bar code.
More recently, optical code readers have been utilized in production lines where items are assembled, where they are inspected, where they are packaged, and the like. This application of optical code reading is far more demanding, as products move down a production line at a relatively high speed, for example, on a conveyor belt. In order to avoid the creation of a bottle neck on the production line, it is therefore important that accurate decoding of optical codes take place without reducing the speed at which the objects move down the production line. The speed at which an optical code can be decoded accurately therefore becomes a primary concern.
For purposes of explanation herein, imaging devices may include imaging devices, CCD imaging devices, CMOS imaging devices, and other devices for capturing the image.
FIG. 1 is a timing diagram illustrating the operation of a typical, existing high speed optical code reader or imaging device. The imaging device creates an image of a scanned optical code on an imaging sensor, and that image is then decoded to recover the optical code. A sensor frame signal 10 defines the periods of time (frames, e.g. F1, F2, F3) during which an image may be detected and acquired. The imaging device produces pulses of infrared LED illumination 12 and visible light illumination 14.
When the image sensor senses a reflection of an infrared light pulse 16 in a frame F1, this is an indication that the presence of an object has been detected within the operating range of the imaging device. Thereafter, a first illumination pulse a is emitted during sensor frame F2, and a first image is captured at b. The exposure of this image is then evaluated, and a second illumination pulse c is emitted in the following sensor frame F3. The width of that pulse is calculated to produce a properly exposed image during frame f3 this will result in the optical code being decoded at d, with a high reliability. Typically, it now takes at least 60 ms for the optical code to be decoded.